<?php
if(!defined('BASEPATH')) exit('Akses langsung tidak diperkenankan');
/**
 * class fLogin
 * menyediakan fungsi2 yang berkaitan dengan mekanisme log masuk dan log keluar user
 *
 * @author faiqmiftakhul
 */
class flogin extends CI_Controller {
    /** _public_view sebagai wrapper header-content-footer */
    var $_public_view;
    /** array header untuk membungkus data header apa saja yang di render */
    var $header;

    /**
     * Konstruktor standar yang meload database, model, library, dan konfigurasi yang diperlukan
     */
    public function __construct() {
        parent::__construct();
        $this->load->database();
        //$this->load->model('basic_model', 'bmodel');
        $this->load->helper('url');
        $this->load->library('session');
        $this->config->load('artyproperty');
        $this->_public_view = $this->config->item('public_view');
    }

    /**
     * fungsi default index
     */
    public function index() {
        
        $data = array('page_content' => 'vlogin',
                        'page_title' => 'Login',
                        'login' => '',
                        'isLogin' => $this->session->userdata('isLogin'),
                        'user' => $this->session->userdata('username')
                        );
        $this->load->view($this->_public_view, $data);
    }

    /**
     * fungsi untuk melakukan validasi masukan user ketika proses log masuk
     */
    public function validate() {
        //ambil dari form menggunakan method POST
        $username = $this->input->post("username");
        $password = $this->input->post("password");
        $user_id = '';
        $login = '';
        $query = $this->db->get_where('user', array('username' => $username, 'password' => md5($password)));
        
        //cek apakah datanya udah ada di database
        if ($query->num_rows() == 1) {
            //ambil data dari database
            foreach ($query->result() as $val) {
                $uname = $val->username;
                $level = $val->level;
                $user_id = $val->user_id;
                $nama_depan = $val->nama_depan;
                $nama_belakang = $val->nama_belakang;
            }

            //set session
            $this->session->set_userdata('isLogin', true);
            $this->session->set_userdata('username', $uname);
            $this->session->set_userdata('level',$level);
            $this->session->set_userdata('user_id',$user_id);
            $this->session->set_userdata('nama_depan',$nama_depan);

            //set cookie
            

            //data yang akan ditampilkan
            $data = array('page_content' => 'home', 'page_title' =>'Artyproperty',
                    'login' => $uname . ' berhasil login ',
                    'level_user' => $level,
                    'user' => $uname, 'isLogin' => $this->session->userdata('isLogin'),
                    'nama_depan' => $nama_depan,
                    'header'=>  $this->header);
        } else {    //data yang akan ditampilkan jika ternyata login tidak berhasil
            $this->session->set_userdata('isLogin', false); //set session
            $login = 'username atau password salah';
            $data = array('page_content' => 'vlogin',
                    'login' => $login,
                    'page_title' => 'Validasi',
                    'isLogin' => FALSE,
                    'header'=>  $this->header,'note'=>'');
        }
         $this->load->view($this->_public_view, $data); //tampilkan datanya
    }
    /**
    * Fungsi untuk menampilkan halaman lost password
    */
    function lostpassword(){
        //mengambil alamat email
        $email = $this->input->post("email");
        $data = array('page_content' => 'lostpassword',
                        'page_title' => 'Lost Password',
                        'login' => '',
                        'isLogin' => $this->session->userdata('isLogin'),
                        'user' => $this->session->userdata('username')
        );
        $this->load->view($this->_public_view, $data);

    }
    /**
     * fungsi untuk Log keluar
     */
    function logout() {
        $this->session->unset_userdata('isLogin');  //unset session

        //data yang akan ditampilkan
        $data = array('page_content' => 'home',
                'page_title' => 'Home',
                'isLogin' => $this->session->userdata('isLogin'),
                'header'=>  $this->header);
        $this->load->view($this->_public_view, $data);  //tampilkan datanya
    }

}

?>

